1. Field of the Invention
This invention relates to processors and, more particularly, to floating point calculations within the processor.
2. Description of the Related Art
In computing systems, floating point numbers are numeric representations of rational numbers. Generally, the phrase “floating point” refers to the idea that the radix or decimal point may be moved anywhere in relation to the significant digits of the number. The position information may be separately indicated. There are a number of ways that floating point numbers have been represented, although the most prevalent standard is defined by the Institute of Electrical and Electronic Engineers (IEEE) 754 standard.
Floating point operations provide a distinct advantage over fixed point operations in that a floating point number can represent a far wider range of values. However, floating point operations can be slower to compute. Accordingly, the measure of the speed at which a computing system may perform floating point arithmetic operations is of prime concern when considering overall processor performance. Thus, when computing systems perform floating point arithmetic such as a multiply and add operation (FMA), detection of an “overshift” condition in as timely a manner as possible may be important. For example, when performing an FMA the addend must be shifted to align in significance with the product. To do so, the shift amount is calculated. As part of the calculation, detection of the overshift condition is in the critical path. In many conventional systems, a logic circuit may perform a compare operation between a constant and a right shift number. This comparison is in the critical timing path, and the number of gates to make the comparison can be large, thereby having a larger than acceptable timing path delay.